package com.iflyun.redis.dao;

import java.util.List;

import com.iflyun.redis.entity.Redis;

/**
 * 
* @ClassName: RedisDao 
* @Description: Redis keyValue 操作 
* @author wenquxing
* @date 2016年6月27日 上午8:51:31 
*
 */
public interface RedisDao {
	
	
	   /**
	    * 	   
	   * @Title: add 	   
	   * @Description: 新增一条key-value 	   
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:05:47	   
	   * @param @param redis 	   
	   * @return void 	   
	   * @throws
	    */
	   public void add(Redis redis);
	    
	   
	  /**
	   * 	  
	  * @Title: addTtl   
	  * @Description:插入一个有失效时间的key-value   
	  * @author wenquxing  
	  * @date 2016年6月27日 上午9:05:38  
	  * @param @param redis
	  * @param @param time 	  
	  * @return void 	  
	  * @throws
	   */
	   public void addTtl(Redis redis,long time); 
	    
	   /**
	    *   
	   * @Title: add 	   
	   * @Description: 批量插入list 	   
	   * @author wenquxing   
	   * @date 2016年6月27日 上午9:14:07   
	   * @param @param list
	   * @param @return 	   
	   * @return boolean 	   
	   * @throws
	    */
	   public boolean add(List<Redis> list);  
	      
	   /**
	    * 	   
	   * @Title: delete 	   
	   * @Description: 删除一条key-value 	   
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:15:28	   
	   * @param @param key 	   
	   * @return void 	   
	   * @throws
	    */
	   public void delete(String key);  
	      
	   /**
	    * 	   
	   * @Title: delete 	   
	   * @Description: 批量删除 	   
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:17:15	   
	   * @param @param keys 	   
	   * @return void 	   
	   * @throws
	    */
	   public void delete(List<String> keys);  
	      
	   /**
	    *   
	   * @Title: update    
	   * @Description: 根据key修改value值 	   
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:19:00	   
	   * @param @param redis
	   * @param @return    
	   * @return boolean    
	   * @throws
	    */
	   public boolean update(Redis redis);  
	  
	   /**
	    *  	   
	   * @Title: get 	   
	   * @Description: 	 根据key获取key-value 
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:20:31   
	   * @param @param keyId
	   * @param @return    
	   * @return Redis 	   
	   * @throws
	    */
	   public Redis get(String keyId); 
	    
	   /**
	    * 	   
	   * @Title: getLike 	   
	   * @Description: 模糊查询 	   
	   * @author wenquxing	   
	   * @date 2016年6月27日 上午9:22:36	   
	   * @param @param match
	   * @param @param count
	   * @param @return 	   
	   * @return List<String> 	   
	   * @throws
	    */
	   public List<String> getLike(String match,long count);
	    
	    
     
}
